home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / tclMotif-1.4 / send / README < prev    next >
Text File  |  1995-06-29  |  5KB  |  107 lines

  1. Welcome to...
  2. -------------
  3.         The Tk "send" command for Xt
  4. Who by
  5. ------
  6. Jan Newmarch (jan@pandonia.canberra.edu.au).
  7.  
  8. Availability
  9. ------------
  10. The primary site for this is csc.canberra.edu.au. It may also be placed on
  11. ftp.x.org and harbor.ecn.purdue.edu. From these sites it will be available
  12. on mirrors in lots of places.
  13.  
  14. What
  15. ----
  16. Tcl is a type-free interpreted language that is great fun to use. It is
  17. designed to be embedded in applications that require a "command language".
  18. Tk is a set of widgets built above this, that provide a quick and easy
  19. route into X Window programming.
  20.  
  21. One of the features of Tk is a communications protocol (based on X Window
  22. "properties") that allows one Tk application to send Tcl commands to
  23. another, to execute them. This allows for example: a debugger can send
  24. commands to an editor to display the region being debugged; a supervisor
  25. can send shutdown messages to all Tk applications to gracefully terminate;
  26. a file manager can send a selected file to a program that knows how to
  27. handle it. This mechanism can potentially restore the "small communicating
  28. processes" model of Unix to the X environment.
  29.  
  30. The Tk system is not Xt based. This means that - until now - Xt applications
  31. could not communicate with Tk ones easily.  This package makes the "send"
  32. mechanism available to an Xt application using Tcl. This makes the following
  33. scenarios possible:
  34.     - Tk app talking to itself
  35.     - Tk app talking to another Tk app
  36.     - Tk app talking to an Xt app
  37.     - Xt app talking to itself
  38.     - Xt app talking to Xt app
  39.     - Xt app talking to Tk app
  40.  
  41. This package is intended for Xt applications that are primarily written in C,
  42. but wish to use the ``send'' mechanism. If you want to do the bulk of the
  43. application in tcl, look instead at Tk (for an entirely tcl based system),
  44. Wafe (for Xt+various widget sets bound to tcl) or tclMotif (for Motif 1.2
  45. bound to tcl).
  46.  
  47. Tcl requirement
  48. ---------------
  49. This package requires use of Tcl. An Xt application wishing to use this
  50. service must create a Tcl interpreter and register it. From then on, any
  51. other application can send Tcl commands to the Tcl interpreter. The interpreter
  52. will execute these commands. Conversely, the application can now send Tcl
  53. commands to another application through the Tcl interpreter.
  54.  
  55. How an application invokes the send mechanism is by preparing a string
  56. that is a suitable Tcl command, and then calling the C function Tcl_Eval.
  57.  
  58. How the Tcl interpreter affects the application is by creating new Tcl commands
  59. that invoke application C code. When the interpreter executes these commands
  60. it calls the application code.
  61.  
  62. Removing the Tcl requirement
  63. ----------------------------
  64. The Tcl interpreter supplies data structures and error reporting mechanism.
  65. These could be easily hard-coded in, so that this package would not require
  66. any use of Tcl. Maybe I will do it one day, but not right now. It would also
  67. require supply of suitable Xt handlers. This is not hard. The real loss is
  68. that you would be passing uninterpreted strings around, so that each application
  69. would have to provide its own parsing and semantic functions. That is what
  70. Tcl is designed to overcome - why remove its principal advantage?
  71.  
  72. Removing Xt requirement
  73. -----------------------
  74. Most of the code for this was written by John Ousterhout for the Tk toolkit.
  75. What I did was to replace the Tk calls with appropriate Xt calls, and adjust
  76. around this. It should be possible to do the same with any other toolkit
  77. or even with Xlib. I won't be doing this because I don't have experience
  78. with other toolkits. It might be nice to see Interviews (and others) use
  79. this protocol too, though.
  80.  
  81. Requirements
  82. ------------
  83. This has been built using tcl7.0, but should work under tcl6.7. I have tested
  84. the Xt side with Motif 1.2, but it should work with any X11R5 Xt-based system.
  85. I have so far tested this stuff on a Sun O/S 4.1 and a 486 running Linux.
  86.  
  87. Building
  88. --------
  89. This package uses the imake system to manage files - for Tk users, don't panic.
  90. This is what you have to type:
  91.     xmkmf
  92.     make
  93.     make install
  94.     make install.man
  95. this will install the library and man pages in the usual location for your
  96. other X Window system libraries and man pages.
  97.  
  98. The test programs use Motif, which not everyone has. If you do, change to
  99. the programs directory and run
  100.     xmkmf
  101.     make
  102. This is not done automatically, because not everyone has Motif. Any Xt user
  103. should be able to understand the Motif side of the examples anyway.
  104.  
  105. Most of the Motif programs require that Tk has been installed, to communicate
  106. with them.
  107.